import cv2
import numpy as np

img = cv2.imread('img/chess.jpg')

#同时求两个方向的边缘，效果差
# 创建一个Sobel算子 y方向的边缘
# d1 = cv2.Sobel(img, cv2.CV_64F, 1, 0, ksize=5)
# 创建一个Sobel算子 x方向的边缘
# d2 = cv2.Sobel(img, cv2.CV_64F, 0, 1, ksize=5)


# Scharr算子
# 创建一个Sobel算子 y方向的边缘
# d1 = cv2.Scharr(img, cv2.CV_64F, 1, 0)
# 创建一个Sobel算子 x方向的边缘
# d2 = cv2.Scharr(img, cv2.CV_64F, 0, 1)

# Laplacian算子
dst = cv2.Laplacian(img, cv2.CV_64F,ksize=5)

# 相加
# dst = d1 + d2
# dst = cv2.add(d1, d2)


cv2.imshow('img', img)
# cv2.imshow('d1', d1)
# cv2.imshow('d2', d2)
cv2.imshow('dst', dst)
cv2.waitKey(0)


